/**
 * 键事件来源枚举
 */
const KeyEventOriginal = {
  CLIENT: 'CLIENT',
  ETCD: 'ETCD'
};

/**
 * 热键监听器接口
 */
class IKeyListener {
  /**
   * 处理新的键
   * @param {Object} hotKeyModel - 热键模型
   * @param {string} original - 来源
   */
  newKey(hotKeyModel, original) {
    throw new Error('Method not implemented');
  }
  
  /**
   * 删除键
   * @param {Object} hotKeyModel - 热键模型
   * @param {string} original - 来源
   */
  removeKey(hotKeyModel, original) {
    throw new Error('Method not implemented');
  }
}

module.exports = {
  KeyEventOriginal,
  IKeyListener
};
